--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Commit 0376cfc8815776cceb60d7dc64cd9d7e9dfe7883
Parents : f84afa5
Author : Ivan <ivan@quad4.io>
Signature : Signature validation error
Date : 2026-04-12T17:03:47-05:00
feat(locales): add detailed outbound send status and various UI enhancements across multiple languages
Changes
4 files changed, 60 insertions(+), 0 deletions(-)
Diff
diff --git a/meshchatx/src/frontend/locales/de.json b/meshchatx/src/frontend/locales/de.json
index 44860351..453a0ac7 100644
--- a/meshchatx/src/frontend/locales/de.json
+++ b/meshchatx/src/frontend/locales/de.json
@@ -157,6 +157,8 @@
"backup_max_count": "Automatisches Backup-Limit",
"message_font_size": "Nachrichtenschriftgröße",
"message_icon_size": "Symbolgröße",
+ "detailed_outbound_send_status": "Detaillierter Sendestatus (ausgehend)",
+ "detailed_outbound_send_status_description": "Pfadfindung, Spinner und technische Tooltips beim Senden anzeigen. Wenn aus, erscheint ein einzelnes halbtransparentes Häkchen, bis es nach einigen Sekunden eskaliert.",
"community_interfaces": "Community-Schnittstellen",
"preferred_node": "Bevorzugter Knoten",
"local_node": "Lokaler Knoten",
@@ -679,6 +681,14 @@
"dismiss": "Schließen",
"attachments_stripped_notice": "Anhänge von diesem unbekannten Absender wurden blockiert.",
"send_placeholder": "Schreibe eine Nachricht...",
+ "sending_ellipsis": "Wird gesendet…",
+ "more_actions": "Weitere Aktionen",
+ "retry_failed": "Fehlgeschlagene erneut senden",
+ "telemetry_history": "Telemetrie-Verlauf",
+ "start_call": "Anruf",
+ "share_contact": "Kontakt teilen",
+ "opportunistic_deferred_label": "Wartend",
+ "opportunistic_deferred_tooltip": "Die Nachricht wird gesendet, sobald der Nutzer online ist oder eine Ankündigung sendet.",
"no_messages_in_conversation": "Noch keine Nachrichten in diesem Gespräch.",
"say_hello": "Sag Hallo!",
"no_active_chat": "Kein aktiver Chat",
@@ -755,6 +765,9 @@
"failed_delete_conversation": "failed to delete conversation",
"delete_history_confirm": "Are you sure you want to delete all messages in this conversation? This can not be undone!",
"failed_delete_history": "failed to delete history",
+ "pin_conversation": "Pin conversation",
+ "unpin_conversation": "Unpin conversation",
+ "failed_toggle_pin": "Could not update pin",
"invalid_destination_hash": "Invalid destination hash",
"invalid_destination_hash_format": "Invalid destination hash format",
"ping_failed": "Ping failed. Try again later",
@@ -775,6 +788,8 @@
"nomadnet": {
"remove_favourite": "Favorit entfernen",
"add_favourite": "Favorit hinzufügen",
+ "identify": "Identifizieren",
+ "pop_out_browser": "Browser auslagern",
"page_archives": "Seitenarchive",
"archive_current_version": "Aktuelle Version archivieren",
"no_archives_for_this_page": "Keine Archive für diese Seite",
diff --git a/meshchatx/src/frontend/locales/en.json b/meshchatx/src/frontend/locales/en.json
index 29f15b5e..3d42b7f6 100644
--- a/meshchatx/src/frontend/locales/en.json
+++ b/meshchatx/src/frontend/locales/en.json
@@ -160,6 +160,8 @@
"backup_max_count": "Automatic backup limit",
"message_font_size": "Message font size",
"message_icon_size": "Icon size",
+ "detailed_outbound_send_status": "Detailed outbound send status",
+ "detailed_outbound_send_status_description": "Show pathfinding styling, spinners, and technical tooltips while a message is sending. When off, a single muted check is shown until sending takes a few seconds.",
"search_settings": "Search settings...",
"auto_resend": "Auto Resend",
"retry_attachments": "Retry Attachments",
@@ -627,12 +629,18 @@
"snr": "SNR {snr}",
"stamp_cost": "Stamp Cost {cost}",
"pop_out_chat": "Pop out chat",
+ "more_actions": "More actions",
+ "retry_failed": "Retry failed messages",
+ "telemetry_history": "Telemetry history",
+ "start_call": "Call",
+ "share_contact": "Share contact",
"custom_display_name": "Custom Display Name",
"stranger_banner_text": "This peer is not in your contacts. Attachments from strangers are blocked.",
"add_to_contacts": "Add to Contacts",
"dismiss": "Dismiss",
"attachments_stripped_notice": "Attachments were blocked from this unknown sender.",
"send_placeholder": "Type a message...",
+ "sending_ellipsis": "Sending…",
"no_messages_in_conversation": "No messages in this conversation yet.",
"say_hello": "Say hello!",
"no_active_chat": "No Active Chat",
@@ -711,6 +719,11 @@
"failed_delete_conversation": "failed to delete conversation",
"delete_history_confirm": "Are you sure you want to delete all messages in this conversation? This can not be undone!",
"failed_delete_history": "failed to delete history",
+ "pin_conversation": "Pin conversation",
+ "unpin_conversation": "Unpin conversation",
+ "failed_toggle_pin": "Could not update pin",
+ "opportunistic_deferred_label": "Waiting",
+ "opportunistic_deferred_tooltip": "Message will send as soon as the user comes online or announces.",
"invalid_destination_hash": "Invalid destination hash",
"invalid_destination_hash_format": "Invalid destination hash format",
"ping_failed": "Ping failed. Try again later",
@@ -832,6 +845,8 @@
"nomadnet": {
"remove_favourite": "Remove Favourite",
"add_favourite": "Add Favourite",
+ "identify": "Identify",
+ "pop_out_browser": "Pop out browser",
"page_archives": "Page Archives",
"archive_current_version": "Archive Current Version",
"no_archives_for_this_page": "No archives for this page",
diff --git a/meshchatx/src/frontend/locales/it.json b/meshchatx/src/frontend/locales/it.json
index fb6f4901..72327e1f 100644
--- a/meshchatx/src/frontend/locales/it.json
+++ b/meshchatx/src/frontend/locales/it.json
@@ -160,6 +160,8 @@
"backup_max_count": "Limite backup automatici",
"message_font_size": "Dimensione carattere messaggi",
"message_icon_size": "Dimensione icona",
+ "detailed_outbound_send_status": "Stato invio in uscita dettagliato",
+ "detailed_outbound_send_status_description": "Mostra stile percorso, spinner e tooltip tecnici durante l'invio. Se disattivato, viene mostrata una sola spunta attenuata fino a escalation dopo alcuni secondi.",
"search_settings": "Cerca impostazioni...",
"auto_resend": "Invio Automatico",
"retry_attachments": "Riprova Allegati",
@@ -679,6 +681,14 @@
"dismiss": "Ignora",
"attachments_stripped_notice": "Gli allegati da questo mittente sconosciuto sono stati bloccati.",
"send_placeholder": "Scrivi un messaggio...",
+ "sending_ellipsis": "Invio in corso…",
+ "more_actions": "Altre azioni",
+ "retry_failed": "Riprova messaggi non inviati",
+ "telemetry_history": "Cronologia telemetria",
+ "start_call": "Chiama",
+ "share_contact": "Condividi contatto",
+ "opportunistic_deferred_label": "In attesa",
+ "opportunistic_deferred_tooltip": "Il messaggio verrà inviato quando l'utente sarà online o invierà un annuncio.",
"no_messages_in_conversation": "Ancora nessun messaggio in questa conversazione.",
"say_hello": "Di' ciao!",
"no_active_chat": "Nessuna Chat Attiva",
@@ -757,6 +767,9 @@
"failed_delete_conversation": "impossibile eliminare la conversazione",
"delete_history_confirm": "Sei sicuro di voler eliminare tutti i messaggi in questa conversazione? L'azione non può essere annullata!",
"failed_delete_history": "impossibile eliminare la cronologia",
+ "pin_conversation": "Pin conversation",
+ "unpin_conversation": "Unpin conversation",
+ "failed_toggle_pin": "Could not update pin",
"invalid_destination_hash": "Hash di destinazione non valido",
"invalid_destination_hash_format": "Formato hash di destinazione non valido",
"ping_failed": "Ping fallito. Riprova più tardi",
@@ -878,6 +891,8 @@
"nomadnet": {
"remove_favourite": "Rimuovi dai Preferiti",
"add_favourite": "Aggiungi ai Preferiti",
+ "identify": "Identifica",
+ "pop_out_browser": "Estrai browser",
"page_archives": "Archivi Pagine",
"archive_current_version": "Archivia Versione Corrente",
"no_archives_for_this_page": "Nessun archivio per questa pagina",
diff --git a/meshchatx/src/frontend/locales/ru.json b/meshchatx/src/frontend/locales/ru.json
index 395c0719..24a45921 100644
--- a/meshchatx/src/frontend/locales/ru.json
+++ b/meshchatx/src/frontend/locales/ru.json
@@ -157,6 +157,8 @@
"backup_max_count": "Лимит автоматических резервных копий",
"message_font_size": "Размер шрифта сообщений",
"message_icon_size": "Размер иконки",
+ "detailed_outbound_send_status": "Подробный статус исходящей отправки",
+ "detailed_outbound_send_status_description": "Показывать поиск пути, спиннеры и технические подсказки при отправке. Если выключено — одна приглушённая галочка до эскалации через несколько секунд.",
"community_interfaces": "Сообщества",
"preferred_node": "Предпочитаемый узел",
"local_node": "Локальный узел",
@@ -679,6 +681,14 @@
"dismiss": "Скрыть",
"attachments_stripped_notice": "Вложения от этого неизвестного отправителя были заблокированы.",
"send_placeholder": "Введите сообщение...",
+ "sending_ellipsis": "Отправка…",
+ "more_actions": "Другие действия",
+ "retry_failed": "Повторить неудачные",
+ "telemetry_history": "История телеметрии",
+ "start_call": "Звонок",
+ "share_contact": "Поделиться контактом",
+ "opportunistic_deferred_label": "Ожидание",
+ "opportunistic_deferred_tooltip": "Сообщение отправится, когда пользователь будет в сети или отправит объявление.",
"no_messages_in_conversation": "В этом чате пока нет сообщений.",
"say_hello": "Скажите привет!",
"no_active_chat": "Нет активного чата",
@@ -755,6 +765,9 @@
"failed_delete_conversation": "failed to delete conversation",
"delete_history_confirm": "Are you sure you want to delete all messages in this conversation? This can not be undone!",
"failed_delete_history": "failed to delete history",
+ "pin_conversation": "Pin conversation",
+ "unpin_conversation": "Unpin conversation",
+ "failed_toggle_pin": "Could not update pin",
"invalid_destination_hash": "Invalid destination hash",
"invalid_destination_hash_format": "Invalid destination hash format",
"ping_failed": "Ping failed. Try again later",
@@ -775,6 +788,8 @@
"nomadnet": {
"remove_favourite": "Удалить из избранного",
"add_favourite": "Добавить в избранное",
+ "identify": "Идентификация",
+ "pop_out_browser": "Открыть браузер отдельно",
"page_archives": "Архивы страницы",
"archive_current_version": "Архивировать текущую версию",
"no_archives_for_this_page": "Нет архивов для этой страницы",
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────